package com.gscitysfy.cus.drain.modules.pipe.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @author admin
 * @since 2022-11-15 10:49:35
 */
@Getter
@Setter
@TableName("drain_pipe_network_plan")
public class DrainPipeNetworkPlan implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId
    private Long cmKid;

    /**
     * 项目编号
     */
    private String cmPlanNo;

    /**
     * 项目名称
     */
    private String cmPlanName;

    /**
     * 项目周期开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmPlanStartDate;

    /**
     * 项目周期结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmPlanEndDate;

    /**
     * 管网类型
     */
    private String cmPlanPipeType;

    /**
     * 检测范围描述
     */
    private String cmPlanRangeDescription;

    /**
     * 审核状态
     */
    private Integer cmPlanAuditStatus;

    /**
     * 派发状态
     */
    private Integer cmPlanDistributionStatus;

    /**
     * 完成状态
     */
    private Integer cmPlanFinishStatus;

    private String cmCreator;

    private String cmModifier;

    private String cmOrgflag;

    private Long cmRegflag;

    private String cmTenantid;

    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmAddtime;

    @TableField(fill = FieldFill.UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmUptime;

    private Integer cmVersion;

    private Boolean cmUsable;

    /**
     * 审核时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmPlanAuditTime;

    /**
     * 审核人
     */
    private String cmPlanAuditPeople;

    /**
     * 审核结果
     */
    private String cmPlanAuditResult;

    /**
     * 审核意见
     */
    private String cmPlanAuditOpinion;

    /**
     * 计划巡检区域点集合
     */
    private String cmPlanAreaPoints;


    /**
     * 当前页
     */
    @TableField(exist = false)
    private int current;

    /**
     * 每页数量
     */
    @TableField(exist = false)
    private int size;

    /**
     * 计划id，逗号分隔
     */
    @TableField(exist = false)
    private String ids;

    /**
     * 关联的管道列表
     */
    @TableField(exist = false)
    private List<DrainPipeNetworkPage> pipList;

    /**
     * 对应任务实体类
     */
    @TableField(exist = false)
    private DrainPipeNetworkJob job;

    /**
     * 开始时间
     */
    @TableField(exist = false)
    private Date startDate;

    /**
     * 结束时间
     */
    @TableField(exist = false)
    private Date endDate;

    /**
     * 派发时间
     */
    private Date cmPlanDistributionTime;

    /**
     * 派发人
     */
    private String cmPlanDistributionUser;


}
